<?php
	// 获取用户身份名称
	function get_user_type_name($userType) {
		$str = "";
		switch($userType) {
			case USER_TYPE_SUPER_ADMIN:
				$str = "管理员";
				break;
			case USER_TYPE_SCHOOL:
				$str = "学校";
				break;
			case USER_TYPE_TEACHER:
				$str = "教师";
				break;
		}
		return $str;
	}
	// 获取班级类型名称
	function get_class_type_name($classType){
		$className = "";
		switch ($classType) {
			case CLASSES_TYPE_NORMAL:
				$className = "行政班";
				break;
			case CLASSES_TYPE_TEACHING:
				$className = "教学班";
				break;
			case CLASSES_TYPE_ELECTIVE:
				$className = "选修班";
				break;
		}
		return $className;
	}

	// 获取数据来源
	function get_school_from_name($schoolFrom){
		$str = "";
		switch($schoolFrom) {
			case X_DATA_HAOZHUANYE:
				$str = "接口数据";
				break;
			case X_DATA_YINTONG:
				$str = "银通接口数据";
				break;
			case X_DATA_CHAOXING:
				$str = "超星接口数据";
				break;
			case X_DATA_DIANXIN:
				$str = "电信接口数据";
				break;
			case X_DATA_FEICHEN:
				$str = "斐宸接口数据";
				break;							
		}
		return $str;
	}

	// 提取字符串内第一张图片
	function get_img_link_from_text($str){
        preg_match("/<img.*src=[\"](.*?)[\"].*?>/", $str, $matchContent);
        return isset($matchContent[1]) ? $matchContent[1] : '';
	}

	// 根据base64，获取图片类型
	function get_img_type_from_base64($base64Str){
		preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64Str, $matches);
		return isset($matches[2]) ? $matches[2] : '';
	}


	// 检查账号格式
	function str_is_username($str) {
		return preg_match("/^[a-zA-Z0-9\_\.]{2,20}$/", $str);
	}

	// 检查密码格式
	function str_is_password($str) {
		return preg_match("/^[a-zA-Z0-9\_\-\.]{5,20}$/", $str);
	}

	// 检查手机号码格式
	function str_is_mobile($str) {
		return preg_match("/^1(3|4|5|6|7|8|9)\d{9}$/", $str);
	}

	// 获取中文数字表达方式
	function get_week_name_from_number($number){
		$text = "";
		switch($number) {
			case 1:
				$text = "一";
				break;
			case 2:
				$text = "二";
				break;
			case 3:
				$text = "三";
				break;
			case 4:
				$text = "四";
				break;
			case 5:
				$text = "五";
				break;
			case 6:
				$text = "六";
				break;
			case 7:
				$text = "日";
				break;
		}
		return $text;
	}

	// 转换时间2019-10-10 18:59:59为格式：2019.10.10
	function format_time_to_date($time) {
		if(empty($time)) {
			return '';
		}
		$date = explode(' ', $time)[0];
		$date = str_replace('-', '.', $date);
		return $date;
	}

	// 多维数组,根据某个特定字段过滤重复值
	function array_unique_by_key($arr, $key){
		//建立一个目标数组
		$res = array();
		foreach ($arr as $value) {
			//查看有没有重复项
			if(isset($res[$value[$key]])){
				unset($value[$key]);  //有：销毁
			}else{
				$res[$value[$key]] = $value;
			}
		}
		return $res;
	}

	// 替换换行符为<br>，空格符为&nbsp;
	function transformToBr($str) {
		// 替换为br
		$order = array("\r\n","\n","\r");
		$replace = '<br/>';
		$str = str_replace($order, $replace, $str);
		// 替换为nbsp
		$order = ' ';
		$replace = '&nbsp;';
		$str = str_replace($order, $replace, $str); 
		return $str;
	}

	// 替换<br>为\n
	function transformBr($str) {
		if(strstr($str, '<br/>')) {
			$order = '<br/>';
			$replace = '\n';
			$str = str_replace($order, $replace, $str); 
		}
		return $str;
	}

	// 富文本去掉图片
	function handle_rich_text($content) {
		// 去掉img
		return preg_replace('/<p.*?><img.*?><\/p>/', '', $content);
	}

	// 富文本图片添加预览类名
	function handle_rich_text_img_preview($content) {
		return preg_replace('/<img/', '<img class="img-preview"', $content);
	}

	// 0-9时间点，左边补0，比如9:00转换为09:00
	function handle_time_length($time)
	{
		$arr = explode(':', $time);
		if(count($arr) !== 2) {
			// 格式不正确
			return '';
		}
		if($arr[0] < 10) {
			$arr[0] = '0' . $arr[0];
		}
		return implode(':', $arr);
	}

	// 根据base64，获取图片内容
	function get_img_content_from_base64($base64Str){
		if(empty($base64Str)){
            return false;
        }
        //匹配出图片的信息
        $match = preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64Str, $result);
        if(!$match){
            return false;
        }
        //解码图片内容
		$base64Image = str_replace($result[1], '', $base64Str);
        $file_content = base64_decode($base64Image);
        return $file_content;
	}

	// 转换时间2019-10-10 18:59:59为格式：2019.10.10 18:50
	function format_time_to_minute($time) {
		if(empty($time)) {
			return '';
		}
		$arr = explode(':', $time);
		$str = $arr[0] . ':' . $arr[1];
		$res = str_replace('-', '.', $str);
		return $res;
	}